package org.qqcui.designpattern.principles.srp;

/**
 * 单一职责原则实现方式3
 *
 * 单一职责原则注意实现和细节
 * （1）降低类的复杂度，一个类只负责一项职责
 * （2）提高类的可读性，可维护性
 * （3）降低变更引起的风险
 * （4）通常情况下，我们应该遵守单一职责原则，只有逻辑足够简单，才可以在代码级违反单一职责原则；
 *      只有类中方法数量足够少，可以在方法级别保持单一职责原则
 *
 * @author cuiqingqiang
 * @version 1.0
 * @date 2020-10-12 23:18
 **/
public class SingleResponsibility3 {

	public static void main(String[] args) {
		Vehicle2 vehicle2 = new Vehicle2();
		vehicle2.run("摩托车");
		vehicle2.runAir("飞机");
		vehicle2.runWater("轮船");
	}
}

/**
 * 方式三，虽然在类级别不符合单一职责原则，但是在方法级别是满足单一职责原则要求的
 */
class Vehicle2 {
	public void run(String vehicle) {
		System.out.println(vehicle + "在公路上运行……");
	}
	public void runAir(String vehicle) {
		System.out.println(vehicle + "在空中运行……");
	}
	public void runWater(String vehicle) {
		System.out.println(vehicle + "在水中运行……");
	}
}
